package reptile;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {

	public static void main(String[] args) throws IOException {
		String url = "http://www.baidu.com";// 定义即将访问的链接
		String get = SendGet(url); // 访问链接并获取页面内容
		String img = RegexString(get, "src=(.+?)");// 使用正则匹配图片的src内容
		System.out.println(get);// 打印结果
		//src=//www.baidu.com/img/bd_logo1.png
		System.out.println(img);// 打印结果
	}
	
	static String RegexString(String targetStr,String patternStr){
		// 定义一个样式模板，此中使用正则表达式，括号中是要抓的内容
		// 相当于埋好了陷阱匹配的地方就会掉下去
		Pattern pattern = Pattern.compile(patternStr);
		// 定义一个matcher用来做匹配
		Matcher matcher = pattern.matcher(targetStr);
		if(matcher.find()){// 如果找到了
			return matcher.group(1);// 打印出结果
		}
		return "Nothing";
	}
	static String SendGet(String url) throws IOException{
		String result =""; // 定义一个字符串用来存储网页内容
		BufferedReader in=null;// 定义一个缓冲字符输入流
		try{
			URL realUrl = new URL(url); // 将string转成url对象
			URLConnection conn=realUrl.openConnection();// 初始化一个链接到那个url的连接
			conn.connect();// 开始实际的连接
			in = new BufferedReader(new InputStreamReader(conn.getInputStream()));// 初始化 BufferedReader输入流来读取URL的响应
			String line ;// 用来临时存储抓取到的每一行的数据
			while((line = in.readLine()) != null){
				result += line+"\n";// 遍历抓取到的每一行并将其存储到result里面
			}
		}catch(Exception e){
			System.out.println(e);
		}finally { // 使用finally来关闭输入流
			if(in != null)
				in.close();
		}
		return result ;
	}
}
